LH87 - La LH des premières vacances

LH87 - La LH des premières vacances

SE et Amour-haine

Imaginez-vous que j'arrache un à un les pétales d'une marguerite en codant le projet de SE.

Premier pétale

Une LED verte qui s'allume, c'est magnifique.
La consécration d'une longue période de code, d'initialisation invisible.
De la recherche d'adresses, de registres plausibles.
Elle ne fait rien, elle vient de naître, c'est un peu fantastique.

Deuxième pétale

Les trois LEDs alternent ; bleu - jaune - vert - bleu - jaune - vert.
J'arrête les rimes ici parce que l'article va prendre 15 ans à être écrit sinon.
Une petite blagounette, un registre qui doit être mis à 0 en écrivant un 1 autre part ! On s'amuse beaucoup, le micro-contrôleur met de la difficulté dans la progression, mais me récompense convenablement.

Troisième pétale

Un UART qui marche, une communication entre la carte et mon terminal.
Décidément, j'aime passionnément cette matière et ce projet.
Elle m'envoie "Bonjour", je lui répond "Au revoir".
Elle a grandit, elle a appris à parler.

Quatrième pétale

Son évolution est si rapide, sa carapace de LEDs a poussé.
Une matrice de 6 lignes et 6 colonnes, sur laquelle toutes ses émotions sont révélées.
Mais... des lignes n'affichent pas les bonnes couleurs ; elle est née avec moins de pixels rouges, de pixels bleus, que les autres.
J'ai longtemps cherché à comprendre si cette irrégularité était de mon fait, si le problème se cachait dans mon code, mais j'ai fini par comprendre qu'il n'en était rien, que je devais l'aimer à la folie comme elle est, sans chercher à la remplacer par une matrice "parfaite".

Cinquième pétale

Pourquoi ça marche pas ? Pourquoi est-ce qu'elle ne m'écoute pas ?
Je lui donne une table de vecteurs, et elle n'en a rien à faire.
Lorsque je lui demande ce qu'elle est en train de faire, elle se cache dans les fonctions d'horloge; je ne lui demande pas du tout d'aller là !
Je voulais simplement que le bouton bleu marche, l'aider à évoluer encore plus...

Mon premier cheveu

J'ai identifié le problème ! elle est si capricieuse.
Je ne peux pas lui donner la table des vecteurs n'importe où, l'adresse de cette dernière doit finir par 8 zéros.
Pourquoi ? me suis-je posé la question. Pourquoi ? me suis-je interrogé.
Sans répondre, elle s'est contenté de continuer les erreurs ; ce bouton ne marchera donc toujours pas du tout...

Le reste de mes cheveux

S'il te plait, fonctionne !! je t'en prie, c'est impossible de débugger les interruptions.
Même avec une table des vecteurs bien positionnée, elle reste contrariée...
La fonction qui ne doit s'activer que lors de l'appui du bouton, qui se lance dès le lancement du programme.
Ce n'est pas du tout le fonctionnement attendu, et je n'ai aucune idée d'où peut bien venir ce problème.

Sixième pétale

Je suis un abruti fini, le plus royal de tous les bouffons.
Recopiant aveuglément le manuel qui m'indiquait le "EXTICR 4", j'ai inscrit un [4] dans le code.
Loin de me douter que les index commençaient en fait à 0, et que je devais écrire un [3], telle était la faute qui m'éloigna un peu de ma belle carte de SE durant toutes ces dures journées.
Désormais, appuyer sur ce tant convoité bouton bleu fait clignotter la LED verte. Je me retrouve une nouvelle fois à contempler ma satisfaction en fixant du regard la lueur verte de cette LED, qui m'extasia dès son premier éclat.


Et combien de pétales reste-t-il à cette marguerite ? Finirai-je ce projet sur un beaucoup, un pas du tout, ou encore un à la folie ?

-Le rédacteur en chef